package br.mikhas.task;

import java.util.Date;

import br.mikhas.task.metadata.User;

/**
 * A task definition
 * 
 * @author Mikhail Domanoski
 * 
 */
public interface Task {

	public boolean isRecurrent();

	public void setRecurrence(String expression);

	/**
	 * @return the start
	 */
	public Date getStart();

	public void setList(TaskList taskList);

	public TaskList getList();

	public String getRecurrence();

	public User getAssignee();

	public int getDuration();

	public String getName();

	public Status getStatus();

	public void addHistoryEntry(History history);

	public void setStart(Date start);

	public Task getParent();

	public void setName(String string);

}
